using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("RankMgr")]
	public class RankMgr : MonoClass
	{
		public TranslatedMedalInfo m_medalInfo => method_3<TranslatedMedalInfo>("m_medalInfo");

		public static int INVALID_RANK => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "RankMgr", "INVALID_RANK");

		public bool AmILegendRankPlayer => method_11<bool>("get_AmILegendRankPlayer", Array.Empty<object>());

		public RankMgr(IntPtr address, string className)
			: base(address, className)
		{
		}

		public RankMgr(IntPtr address)
			: this(address, "RankMgr")
		{
		}

		public static RankMgr Get()
		{
			return MonoClass.smethod_15<RankMgr>(TritonHs.MainAssemblyPath, "", "RankMgr", "Get", Array.Empty<object>());
		}

		public bool AmILegendRank(bool useWildRank)
		{
			return method_11<bool>("AmILegendRank", new object[1] { useWildRank });
		}

		public bool SetRankPresenceField(NetCache.NetCacheMedalInfo medalInfo)
		{
			return method_11<bool>("SetRankPresenceField", new object[1] { medalInfo });
		}

		public MedalInfoTranslator GetRankPresenceField(BnetPlayer player)
		{
			return method_15<MedalInfoTranslator>("GetRankPresenceField", new Class276.Enum20[1] { Class276.Enum20.Class }, new object[1] { player });
		}

		public MedalInfoTranslator GetRankPresenceField(BnetGameAccount gameAccount)
		{
			return method_15<MedalInfoTranslator>("GetRankPresenceField", new Class276.Enum20[1] { Class276.Enum20.Class }, new object[1] { gameAccount });
		}
		public MedalInfoTranslator GetLocalPlayerMedalInfo()
		{
			return method_14<MedalInfoTranslator>("GetLocalPlayerMedalInfo");
		}
	}
}
